const inquirer = require('inquirer')
const shell = require('shelljs')
const path = require('path')

module.exports = async () => {
  // 1. 显示输入项目名称的提示d
  const input = await inquirer.prompt([
    {
      type: 'input',
      name: 'name',
      message: '请输入vue3项目的名称',
      default: 'myapp'
    },
    {
      type: 'list',
      name: 'packager',
      message: '使用哪个包管理工具安装依赖?',
      choices: ['yarn', 'npm'],
    }
  ])

  const projectName = input.name

  // 2. 创建项目目录
  shell.mkdir(projectName)

  // 3. 复制模板代码（从本地目录复制，理想情况下可以从网络下载）
  shell.cp('-R', path.join(__dirname, '../template/framework/*'), projectName)

  // 4. 进入项目目录，并使用 yarn/npm 安装依赖
  shell.cd(projectName)

  if (input.packager === 'yarn') {
    shell.exec('yarn')
  } else {
    shell.exec('npm i')
  }
}